Tekstijonosta muodostetaan matriisi näin     : matriisi=($tekstijono)
Tiedostosta muodostetaan matriisi näin       : matriisi=($(cat tedosto))
Käskyn tulosteesta muudostetaan matriisi näin: matriisi=($(käsky käskyn prametrit))  # siis esimerkiksi: matriisi=($(ls ~))

Erikoistapauksia:
IP=( `echo 192.168.1.0/24 | sed -e 's/[.\/]/ /g'` ); echo -e "${IP[@]/%/\\n}" # IP:n jako osiin - peräliitekin omaansa
grep -Po '(?<=<<).*(?=>>)' ~/koe | awk '{split($0,a,"\n"); for (i = 1; i <= NF; i++) print length(a[i])}' # tagien välisten tekstien merkkiluvut


Huomattavaa: matriisin jäsenen 0 sisältö on sama kuin samannimisen tavallisen muuttujan. Siksi jos matriisia tehtäessä hölmöillään on koko muodostettu "mariisi" itseasiassa kokonaisuudessaan matriisin jäsenessä 0. Edes tuo matriisin paras tulostustapa: echo -e ' '"${matriisi[@]/%/\\n}" ei kerro että se tulostaa tavallisen muuttujan, vaan ainoastaan tulostustapa: echo ${matriisi[0]} ilmaisee että toimitaan tavallisen muuttujan kanssa.
- BASH itse tajuaa kyllä toimivansa matriisi kanssa kuten voit todeta käskyllä: declare | grep matriisi 

erota levyllä olevasta matriisista osoitettava sarake kokonaisuudessaan: readarray arr < tiedosto2 | cut -d ' ' -f2;  echo " ${arr[*]}"
 

